#ifndef H_COLFERS_VARINT_H
#define H_COLFERS_VARINT_H

#include "utils.h"

#include <stdbool.h>
#include <stdint.h>

static inline uint8_t* cfers_encode_bool(uint8_t* __restrict__ out, bool x);
static inline uint8_t* cfers_encode_enum(uint8_t* __restrict__ out, int x);
static inline uint8_t* cfers_encode_int32(uint8_t* __restrict__ out, int32_t x);
static inline uint8_t* cfers_encode_int64(uint8_t* __restrict__ out, int64_t x);
static inline uint8_t* cfers_encode_sint32(uint8_t* __restrict__ out, int32_t x);
static inline uint8_t* cfers_encode_sint64(uint8_t* __restrict__ out, int64_t x);
static inline uint8_t* cfers_encode_uint32(uint8_t* __restrict__ out, uint32_t x);
static inline uint8_t* cfers_encode_uint64(uint8_t* __restrict__ out, uint64_t x);

#include "inlines/varint.inl"

#endif /* H_COLFERS_VARINT_H */

